Finding Optimum Wavefront of Parallel Computation
نویسندگان
چکیده
Data parallelism, in which the same operation is performed on many elements of an n-dimensional array, is one of the most powerful methods of extracting parallelism in scientific computation. One form of data parallelism involves defining a sequence of parallel wavefronts of a computation. Each wavefront consists of an (n− 1)-dimensional subarray of the evaluated array and all wavefront elements are evaluated simultaneously. Different wavefronts result in different performance, so the question arises how to determine the wavefronts that result in the minimum computation time. Wavefront determination should define also allocation of wavefront elements to processors. In this paper we present efficient algorithms for determining the optimum wavefront and for partitioning it into sections assigned to individual processors. Presented algorithms are applicable to computations that are defined over two or higher dimensional arrays and are executed on distributed memory machines interconnected into a one or two-dimensional processor array.
منابع مشابه
Specification and Verification of a Wavefront Algorithm for the Algebraic Path Problem
In a seminal paper [1], Kung et al proposed that wavefront computation could be used to specify and implement parallel algorithms for the mathematical computations needed for highperformance signal processing. In [1], a wavefront computation is regarded as executing in a data-driven fashion on a two-dimensional grid of computational cells that have a north-southeast-west interconnection network...
متن کاملLanguage Support for Pipelining Wavefront Computations
Wavefront computations, characterized by a data dependent flow of computation across a data space, are receiving increasing attention as an important class of parallel computations. Though sophisticated compiler optimizations can often produce efficient pipelined implementations from sequential representations, we argue that a language-based approach to representing wavefront computations is a ...
متن کاملArray Language Support for Wavefront and Pipelined Computations
Array languages such as Fortran 90, High Performance Fortran and ZPL are convenient vehicles for expressing data parallel computation. Unfortunately, array language semantics prohibit the natural expression of wavefront and pipelined computations, characterized by a sequential propagation of computed values across one or more dimensions of the problem space. As a result, programmers scalarize (...
متن کاملParametric GPU Code Generation for Affine Loop Programs
Partitioning a parallel computation into finitely sized chunks for effective mapping onto a parallel machine is a critical concern for source-to-source compilation. In the context of OpenCL and CUDA, this translates to the definition of a uniform hyper-rectangular partitioning of the parallel execution space where each partition is subject to a fine-grained distribution of resources that has a ...
متن کاملA General Predictive Performance Model for Wavefront Algorithms on Clusters of SMPs
We have recently been studying the performance of wavefront algorithms implemented using message passing on 2dimensional logical processor arrays [1,2]. Wavefront algorithms are ubiquitous in parallel computing, since they represent a means of enabling parallelism in computations that contain recurrences. Our particular interest in wavefront algorithms derives from their use in discrete ordinat...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Parallel Algorithms Appl.
دوره 2 شماره
صفحات -
تاریخ انتشار 1994